//#include "CMainState.h"
//
//
//CMainState::CMainState(CStateManager *state): IGameState(state)
//{
//	
//}
//
//CMainState::~CMainState()
//{
//
//}
//
//
//void CMainState::Init()
//{
//	m_nSpriteCount = 0;
//	m_ppListSprite = new CObject*[m_nSpriteCount];
//
//	LoadSprite( "RockMob.png" , 0 , 0 , 35 , 35  , 0 );
//	
//}
//
//
//void CMainState::Update()
//{
//	ProcessInput();
//
//	for( ULONG  i = 0 ; i < m_nSpriteCount ; ++i )
//	{
//		m_ppListSprite[i]->Update(g_DeltaTime);
//	}
//}
//
//
//void CMainState::Render()
//{
//	m_StateManager->m_pGraphic->BeginRender();
//
//	m_StateManager->m_pGraphic->GetSpriteHandler()->Begin(D3DXSPRITE_ALPHABLEND);
//
//	for( ULONG  i = 0 ; i < m_nSpriteCount ; ++i )
//	{
//		m_ppListSprite[i]->Render( );
//	}
//
//	m_StateManager->m_pGraphic->GetSpriteHandler()->End();
//
//	m_StateManager->m_pGraphic->EndRender();
//
//	m_StateManager->m_pGraphic->GetDevice()->Present(NULL , NULL , NULL , NULL );
//
//}
//
//void CMainState::Destroy()
//{
//
//}
//
//HRESULT CMainState::LoadSprite(LPCTSTR FilePath , float Xpos , float Ypos , int width , int height , float Vx)
//{
//	CResourceManager*	res = CResourceManager::GetInstance();
//	CObject*			object;
//	CAnimation*			animation;
//	HRESULT hr;
//
//
//	hr = res->m_Hero.LoadTextureFromFile("Res/RockMob.png" , D3DCOLOR_XRGB(255,0,255) , m_StateManager->m_pGraphic->GetDevice() , m_StateManager->m_pGraphic->GetSpriteHandler() );
//	if(FAILED(hr))
//		return hr;
//
//	object = new CAnimatedObject( 100 , 100 , 0 , 100 , 10 , 35 , 35 );
//
//	((CAnimatedObject*)object)->LoadSprite( &res->m_Hero , 21 , 11 );
//
//	animation = new CAnimation[2];
//	animation[0].CreateAnimation(0 , 0 , 11 , 0 , 1.0f/1.0f);
//	animation[1].CreateAnimation(1 , 11 , 20 , 11 , 1.0f/15.0f);
//
//	((CAnimatedObject*)object)->GetSprite()->SetAnimation(animation);
//	((CAnimatedObject*)object)->GetSprite()->SetAnimationIndex(0);
//
//	if( AddSprite() < 0 )
//	{
//		delete object;
//		return E_OUTOFMEMORY;
//	}
//	m_ppListSprite[m_nSpriteCount - 1] = object;
//
//	return S_OK;
//}
//
//long CMainState::AddSprite(ULONG Count /*= 1*/)
//{
//	CObject **ppList;
//
//	if( ! (ppList = new CObject*[ m_nSpriteCount + Count ]) )
//		return -1;
//
//	if(m_ppListSprite)
//	{
//		memcpy( ppList , m_ppListSprite , m_nSpriteCount * sizeof(CObject*) );
//		
//		delete []m_ppListSprite;
//	}
//
//	m_ppListSprite = ppList ;
//
//	ZeroMemory( &m_ppListSprite[m_nSpriteCount] , Count * sizeof(CObject*) );
//
//	m_nSpriteCount += Count;
//
//	return m_nSpriteCount - Count;
//}
//
//
//void CMainState::ProcessInput()
//{
//	if(GetKeyState(VK_RIGHT) & 0xff00 )
//	{
//		((CAnimatedObject*)m_ppListSprite[0])->GetSprite()->SetAnimationIndex(1 );
//		((CAnimatedObject*)m_ppListSprite[0])->GetSprite()->SetScale( -1.0f , 1.0f , D3DXVECTOR2( m_ppListSprite[0]->GetWidth() / 2.0f , m_ppListSprite[0]->GetHeight() / 2.0f ) );
//		m_ppListSprite[0]->Move( ((CAnimatedObject*)m_ppListSprite[0])->GetXVelocity() * g_DeltaTime , 0 );
//	}
//	else if ( GetKeyState(VK_LEFT) & 0xff00 )
//	{
//		((CAnimatedObject*)m_ppListSprite[0])->GetSprite()->SetAnimationIndex(1);
//		((CAnimatedObject*)m_ppListSprite[0])->GetSprite()->SetScale( 1.0f , 1.0f , D3DXVECTOR2(m_ppListSprite[0]->GetWidth() /2.0f , m_ppListSprite[0]->GetHeight() / 2.0f) );
//		m_ppListSprite[0]->Move( -((CAnimatedObject*)m_ppListSprite[0])->GetXVelocity() * g_DeltaTime , 0 );
//	}
//	else
//	{
//		((CAnimatedObject*)m_ppListSprite[0])->GetSprite()->SetAnimationIndex(0 );
//	}
//}